define(['jquery', 'utils'], function ($, utils) {
    var pageNo=1;
    var pageCount = 1;
    var total = 0;
    var pageSize =5;
    var init = function(){
        pageNo = 1;
        pageCount = 1;
        pageSize = 5;
        $("li[id*='page_']").hide();
        $("li[id*='page_']").removeClass('current');
        $("li[id='page_1']").show();
        $("li[id='page_1']").addClass("current");
    }
    var calPageNo = function (total) {
        total = total;
        $("#page_count").text(total);
        pageCount = Math.ceil(total/pageSize);
        for (var i = 2; i <= pageCount; i++) {
            $("li[id='page_"+i+"']").show();
        }
    }
    var prevPage = function(){
        pageNo = pageNo==1?1:(pageNo-1);
    }
    var nextPage = function(){
        pageNo = pageNo==pageCount?pageNo:(pageNo+1);
    }
    var beginNo = function () {
        return (pageNo-1)*pageSize+1;
    }
    var endNo = function () {
        return (pageNo)*pageSize;
    }
    var gotoPage = function (pageNo_) {
        if (pageNo_ == "«") {
            prevPage();
        }else if (pageNo_ == "»") {
            nextPage();
        }else{
            pageNo = pageNo_
        }
        $("li[id*='page_']").removeClass('current');
        for (var i = 1; i <= pageNo;i++) {
            $("li[id='page_"+i+"']").show();
        }

        $("li[id='page_"+pageNo+"']").addClass("current");
    };
    return {
        pageNo:pageNo,
        pageCount:pageCount,
        pageSize:pageSize,
        init:init,
        calPageNo:calPageNo,
        prevPage:prevPage,
        nextPage:nextPage,
        beginNo:beginNo,
        endNo:endNo,
        gotoPage:gotoPage
    }
});